为您找到与linux命令之top介绍 linux教程相关的共200个结果:
top命令是显示当前系统正在执行的进程相关信息。包括进程ID、内存占用率等;top命令格式如下:
top [OPTIONS]
OPTIONS:
-b 批处理
-c 显示进程的完整名
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
top输出信息:
top - 15:08:48 up 1:53, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2061364k total, 1029032k used, 1032332k free, 224832k buffers
Swap: 2095100k total, 0k used, 2095100k free, 440620k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1777 root 20 0 150m 80m 13m S 4 4.0 0:19.91 Xorg
3602 gino 20 0 91844 15m 10m S 2 0.8 0:00.45 gnome-terminal
1 root 20 0 3644 1968 1280 S 0 0.1 0:00.80 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0 0.0 0:00.06 ksoftirqd/0
4 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/0:0
6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
7 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/0
8 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
10 root 20 0 0 0 0 S 0 0.0 0:00.07 ksoftirqd/1
11 root 20 0 0 0 0 S 0 0.0 0:00.50 kworker/0:1
12 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/1
13 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/2
15 root 20 0 0 0 0 S 0 0.0 0:00.02 ksoftirqd/2
16 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/2
17 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/3
19 root 20 0 0 0 0 S 0 0.0 0:00.02 ksoftirqd/3
20 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/3
21 root 0 -20 0 0 0 S 0 0.0 0:00.00 cpuset
22 root 0 -20 0 0 0 S 0 0.0 0:00.00 khelper
23 root 20 0 0 0 0 S 0 0.0 0:00.00 kdevtmpfs
24 root 0 -20 0 0 0 S 0 0.0 0:00.00 netns
25 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/u:1
26 root 20 0 0 0 0 S 0 0.0 0:00.02 sync_supers
27 root 20 0 0 0 0 S 0 0.0 0:00.00 bdi-default
28 root 0 -20 0 0 0 S 0 0.0 0:00.00 kintegrityd
29 root 0 -20 0 0 0 S 0 0.0 0:00.00 kblockd
30 root 0 -20 0 0 0 S 0 0.0 0:00.00 ata_sff
31 root 20 0 0 0 0 S 0 0.0 0:00.00 khubd
32 root 0 -20 0 0 0 S 0 0.0 0:00.00 md
34 root 20 0 0 0 0 S 0 0.0 0:00.00 khungtaskd
35 root 20 0 0 0 0 S 0 0.0 0:00.00 kswapd0
36 root 25 5 0 0 0 S 0 0.0 0:00.00 ksmd
37 root 39 19 0 0 0 S 0 0.0 0:00.00 khugepaged
38 root 20 0 0 0 0 S 0 0.0 0:00.00 fsnotify_mark
39 root 20 0 0 0 0 S 0 0.0 0:00.00 ecryptfs-kthrea
40 root 0 -20 0 0 0 S 0 0.0 0:00.00 crypto
48 root 0 -20 0 0 0 S 0 0.0 0:00.00 kthrotld
49 root 20 0 0 0 0 S 0 0.0 0:00.00 scsi_eh_0
50 root 20 0 0 0 0 S 0 0.0 0:00.00 scsi_eh_1
52 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/u:3
71 root 0 -20 0 0 0 S 0 0.0 0:00.00 devfreq_wq
72 root 20 0 0 0 0 S 0 0.0 0:00.24 kworker/1:1
top 命令输出信息说明:
第一行,同uptime命令执行的结果相同
15:08:38 --当前系统时间
2:16 up --系统已经运行时间(这期间系统没有重启)
3 users --当前登陆系统的用户数
load average --系统负载三个数值分别为 1分钟、5分钟、15分钟
第二行,进程说明:
160 total -- 系统共有进程数
1 running --处于运行的进程数
159 sleeping --处于休眠的进程数
0 stopped --结束的进程数
0 zombie --僵尸进程数
第三行,cpu状态信息
0.1%us --用户空间占用CPU百分比
0.2%sy --内核空间占用CPU百分比
0.0%ni --改变过优先级的进程占用CPU的百分比
99.6%id --空闲CPU百分比
0.1%wa --IO等待占用CPU的百分比
0.0%hi --硬中断占用CPU的百分比
0.0%si --软中断占用CPU的百分比
0.0%st --CPU使用内部虚拟机运行任务的时间。
第四行,内存状态
2061364k total --物理内存总量
1029032k used --使用中的内存总量
1032332k free --空闲内存总量
224832k buffers --缓存的内存总量
第五行,交换分区信息
2095100k total --交换区总量
0k used --使用的交互区总量
2095100k free --空闲的交互区总量
440620k cached --缓存的交互区总量
第七行,各进程的状态监控项目列。
PID --进程id
USER --进程所有者
PR --进程优先级
NI --nice值。负值表示高优先级,正值表示低优先级
VIRT --进程使用的虚拟内存总量。VIRT = SWAP+RES
RES --进程使用的、未被换出的物理内存大小。RES = CODE+DATA
SHR --共享内存大小。
S --进程状态。 S:睡眠 R:运行 T:跟踪/停止 Z:僵尸进程 D: 不可中断的睡眠状态
%CPU --上次更新到现在的CPU时间占用百分比
%MEM --进程使用的无论内存百分比
TIME+ --进程使用的CPU时间总计,单位1/100秒
COMMAND --进程名称
top 交互命令
执行top命令后,可以使用一些交互命令。这些命令都是单字母的,如果在命令行使用s选项,其中一些命令可能会被屏蔽。
h 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序
r 重新安排一个进程的优先级别
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中
浏览量:2
下载量:0
时间:
top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.读文网小编为大家分享了Linux Top 命令解析,希望大家喜欢。
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
常在linux系统下玩,这是必须掌握的命令之一;
下面详细说说这个命令:
敲入top进入:
top - 09:14:56 up 264 days, 20:56, 1 user, load average: 0.02, 0.04, 0.00
Tasks: 87 total, 1 running, 86 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.2%st
Mem: 377672k total, 322332k used, 55340k free, 32592k buffers
Swap: 397308k total, 67192k used, 330116k free, 71900k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2856 656 388 S 0.0 0.2 0:49.40 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 7:15.20 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
第一行
09:14:56 : 系统当前时间
264 days, 20:56 : 系统开机到现在经过了多少时间
1 users : 当前2用户在线
load average: 0.02, 0.04, 0.00: 系统1分钟、5分钟、15分钟的CPU负载信息
第二行
Tasks:任务;
87 total:很好理解,就是当前有87个任务,也就是87个进程。
1 running:1个进程正在运行
86 sleeping:86个进程睡眠
0 stopped:停止的进程数
0 zombie:僵死的进程数
第三行
Cpu(s):表示这一行显示CPU总体信息
0.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
0.7%sy:内核占用CPU时间百分比
0.0%ni:改变过优先级的进程占用CPU的百分比
99.3%id:空闲CPU时间百分比
0.0%wa:等待I/O的CPU时间百分比
0.0%hi:CPU硬中断时间百分比
0.0%si:CPU软中断时间百分比
注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;
第四行
Men:内存的意思
8175320kk total:物理内存总量
8058868k used:使用的物理内存量
116452k free:空闲的物理内存量
283084k buffers:用作内核缓存的物理内存量
第五行
Swap:交换空间
6881272k total:交换区总量
4010444k used:使用的交换区量
2870828k free:空闲的交换区量
4336992k cached:缓冲交换区总量
进程信息
再下面就是进程信息:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
top命令交互操作指令
下面列出一些常用的 top命令操作指令
q:退出top命令
<Space>:立即刷新
s:设置刷新时间间隔
c:显示命令完全模式
t::显示或隐藏进程和CPU状态信息
m:显示或隐藏内存状态信息
l:显示或隐藏uptime信息
f:增加或减少进程显示标志
S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
u:指定显示用户进程
r:修改进程renice值
kkill:进程
i:只显示正在运行的进程
W:保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。
h:帮助命令。
q:退出
注:强调一下,使用频率最高的是P、T、M,因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多;
注:通过”shift + >”或”shift + <”可以向右或左改变排序列
如果只需要查看内存:可用free命令。只查看uptime信息(第一行),可用uptime命令;
看过“ Linux Top命令解析 ”
浏览量:3
下载量:0
时间:
CPU是电脑的重要组成部分,是不可缺少的角色。下面是读文网小编带来的关于Linux top命令查看多核CPU每个核心的使用率的内容,欢迎阅读!
top命令是linux下常用的工具,可以查看各个进程的CPU使用情况。先看一个实例:
这是Ramnode双核VPS的top显示结果:
左上角可以看到CPU的使用率是11.3%,但是看下面的进程,plugin-containe就占用了17.6%。出现这样的情况是因为11.3%指的是所有核心的占用情况,17.6%指的是运行当前进程的核心的使用率。有时候可以看到某个进程的使用率已经达到100%了,但是top显示的也只有50%而已。下面我们来做一个测试:
使用的命令是:
md5sum /dev/zero &
执行上面命令的核心使用率超过了90%,左上角显示的CPU使用率只有50%多
在top窗口中,按数字键“1”就可以看到每个核心的使用情况。
看了Linux top命令查看多核CPU每个核心的使用率文章内容的人还看:
浏览量:3
下载量:0
时间:
Linux中的iotop命令主要用于显示硬盘IO,但该命令只存在于kernelv2.6.20之后的版本, 那么要如何安装iotop命令呢?下面读文网小编就给大家介绍下如何在Linux上安装iotop命令。
iotop命令是界面风格类似top命令。这个命令只有在kernelv2.6.20及以后的版本中才有。python版本需要 python2.7及以上版本
官方的说明:
Linux has always been able to show how much I/O was going on (the bi and bo columns of the vmstat 1 command)。
Iotop is a Python program with a top like UI used to show of behalf of which process is the I/O going on. It requires Python ≥ 2.7 and a Linux kernel ≥ 2.6.20 with the TASK_DELAY_ACCT CONFIG_TASKSTATS, TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS options on.
–version 查看版本信息的
-h, –help 查看帮助信息的
-o, –only 只显示在划硬盘的程序
-b, –batch 批量处理 用来记录日志的
-n NUM 设定循环几次
-d SEC, –delay=SEC 设定显示时间间隔
上面就是Linux下安装iotop命令的方法介绍了,如果你要使用iotop命令的话,可按照上面的命令进行安装,安装后可使用该命令进行硬盘IO的查看,你学会了吗?
浏览量:2
下载量:0
时间:
作为一种分时的特数操作系统,Linux具备Windows和mac OS与众不同的操作界面和用户体验,虽然它并不是最主流的操作系统,但是它会作为操作系统而得到众多程序开发人员的青睐和熟知。find命令是操作系统环境下进行计算机功能调用的特殊命令,顾名思义,它的作用就是查找,比如查找一些特定的文件。那么Linux环境下的find命令该如何使用呢?读文网小编来告诉大家。
和众多命令相同,如果想要查询不同的文件,就需要使用不同类型的查询参数才能实现。Find命令的查询参数如下:
pathname: find 这个参数能够根据文件的路径进行文件查找,一般来说.表示当前目录路径,/表示系统根目录路径。
-print:使用这个命令进行查找系统会将匹配的文件输出至标准的输出方式显示。
-exec:若使用这个参数进行文件查找,系统会进行特殊的shell命令执行,这个shell命令是参数给出的。
-ok:这个参数的功能和-exec具有相似的查询效果,不过它会给查询增加安全性,并在每一个执行步骤之前给出提示。
浏览量:2
下载量:0
时间:
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。下面让我们一起去了解Linux TOP命令 按内存占用排序和按CPU占用排序。
:在命令行提示符执行top命令
2:输入大写P,则结果按CPU占用降序排序。输入大写M,结果按内存占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)
另外:
认识top的显示结果
top命令的显示结果如下所示:
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total, 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区
前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
01:06:48当前时间
up 1:22系统运行时间,格式为时:分
1 user当前登录用户数
load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 29 total进程总数
1 running正在运行的进程数
28 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
Cpu(s): 0.3% us用户空间占用CPU百分比
1.0% sy内核空间占用CPU百分比
0.0% ni用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id空闲CPU百分比
0.0% wa等待输入输出的CPU时间百分比
0.0% hi
0.0% si
最后两行为内存信息。内容如下:
Mem: 191272k total物理内存总量
173656k used使用的物理内存总量
17616k free空闲内存总量
22052k buffers用作内核缓存的内存量
Swap: 192772k total交换区总量
0k used使用的交换区总量
192772k free空闲交换区总量
123988k cached缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号列名含义
aPID进程id
bPPID父进程id
cRUSERReal user name
dUID进程所有者的用户id
eUSER进程所有者的用户名
fGROUP进程所有者的组名
gTTY启动进程的终端名。不是从终端启动的进程则显示为 ?
hPR优先级
iNInice值。负值表示高优先级,正值表示低优先级
jP最后使用的CPU,仅在多CPU环境下有意义
k%CPU上次更新到现在的CPU时间占用百分比
lTIME进程使用的CPU时间总计,单位秒
mTIME+进程使用的CPU时间总计,单位1/100秒
n%MEM进程使用的物理内存百分比
oVIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
pSWAP进程使用的虚拟内存中,被换出的大小,单位kb。
qRES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
rCODE可执行代码占用的物理内存大小,单位kb
sDATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
tSHR共享内存大小,单位kb
unFLT页面错误次数
vnDRT最后一次写入到现在,被修改过的页面数。
wS进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
xCOMMAND命令名/命令行
yWCHAN若该进程在睡眠,则显示睡眠中的系统函数名
zFlags任务标志,参考 sched.h
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
更改显示内容
通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。
浏览量:3
下载量:0
时间:
在计算机技术飞速发展的今天,计算机已经成为了人们无法离开的重要电子产物。而计算机的核心部分就是它的操作系统。谈到操作系统,很多人会从脑海中浮现出我们最常用的Windows系统,不管是曾经陪伴我们长达十年的Windows XP,还是强大的Windows 7系统,都给了我们非常强大的体验。但说起Linux,恐怕很少会有人知道。
halt 代表计算机会立刻执行关机命令,计算机关机;
poweroff 同halt相同,计算机也会立刻执行关机命令;
shutdown -h now 输入此命令计算机也会立刻执行关机命令,但假如我们将now改写为数值,比如输入的是shutdown -h 10,计算机就会在10分钟以后关机,假如now被改写为标准的时间,如输入的是shutdown –h 20:00,计算机就会在下一个20:00的时间时刻执行关机命令,实现定时关机的操作。
Linux作为一种完善的操作系统,虽然从操作方式和界面上与Windows等主流的操作系统有较大区别,但是它依然是非常强大的。关于它重启系统和关闭系统的命令我们也为大家进行了介绍,大家要记住了哦。
浏览量:3
下载量:0
时间:
使用cut命令获取文档中的某一列的数据,例如下面的文件cut.tab中间使用tab键分隔,这里要想只显示第3个列区域的内容,可以使用 cut -f3 cut.tab实现。下面读文网小编就跟大家说说LINUX CUT命令的说明,欢迎大家阅读!!!
1用命令vi cut.tab创建一个cut.tab的文件
2在cut.tab文件中输入如下内容,单词之间用tab作为分隔符。
3输入:wq保存,并退出
4cat查看cut.tab文件的所有内容
[lele@Oracle ~]$ cat cut.tab
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
one two three four five six seven
5使用cut命令,带上-f参数,例如下面是要查看cut.tab文件的第3列的内容
[lele@Oracle ~]$ cut -f3 cut.tab
three
three
three
three
three
three
three
three
three
three
three
three
three
three
three
three
three
three
three
参数-f3的意思就是以tab键的空格为分隔符,截取第3段
6用cat cut.tab查看文件中的内容,如果不保存,最后输入:q即可退出。
浏览量:2
下载量:0
时间:
Linux查看系统日志的一些常用命令
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
浏览量:2
下载量:0
时间:
1、在字符界面输入startx或init 5 。
2、通过编辑/etc/inittab文件实现默认进入图形界面。
把其中的id:3:initdefault中的3改为5,这样以后系统启动后将直接进入文本模式。
以下是配置引导进入图形模式的etc/inittab文件的部分内容:
#Default runlevel.The runlevels used by RHS are:
# 0-halt(Do NOT set initdefault to this)
# 1 -Single user mode
# 2-Multiuser,without NFS(The same as 3,if you do not have networking)
# 3-Full multiuser mode
# 4-unused
# 5-X11 https://选择此项,系统在登录时将进入图形化登录界面
# 6-reboot(Do NOT set initdefault to this)
#
id:3:initdefault: https://此处若改为3,系统将被引导进入文本登录提示符界
浏览量:2
下载量:0
时间:
(一)options
-d,-depth:二者作用相同,man手册和很多博客上都说它们的作用是:首先查找当前目录文件,然后再在其子目录查找。不过我自己实验了很多次,发现没什么效果。。。烦请高人指点~
-maxdepth:指定最大目录深度,也就是指定目录的几级子目录:1代表只是指定目录本身;2表示一级子目录;3代表“孙目录”,以此类推。。。
m@meng:~/patches/tmp$ find . -maxdepth 1 -name 'onlyme*'
./onlyme
./onlyme1
m@meng:~/patches/tmp$ find . -maxdepth 2 -name 'onlyme*'
find . -maxdepth 2 -name 'onlyme*'
./test/onlyme5
./test/onlyme.sh
./onlyme
./onlyme1
-mindepth:类似上面的-maxdepth,但是指定的是最小深度。比如指
定 2,那就是只搜索深度大于2的各级子目录,而不理会小于2的那些目录(小于2的就是指定目录本身),如下例: m@meng:~/patches/tmp$ find . -mindepth 1 -name 'onlyme*'
./test/onlyme5
./test/onlyme.sh
./onlyme
./onlyme1
m@meng:~/patches/tmp$ find . -mindepth 2 -name 'onlyme*'
./test/onlyme5
./test/onlyme.sh
-help:显示帮助信息,并退出。 -mount或-xdev:如果某个(子)目录是另一个文件系统的挂载点,则跳过该目录。
-daystart:先看man手册的说法:Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from24 hours ago. 看来这个选项只影响那些跟时间有关的test,而且改变了时间的计算方式,即不再从当前时刻开始计算,而是从每天的0:00开始计算。前面说过,-atime n,这个n并不代表实际的“一天”,而是指24小时;但是加上-daystart这个选项之后,就可以真的代表“一天”了,因为这时就是从每天的0:00开始计时的,看下面的例子:
m@meng:~/patches/tmp$ date
2015年 07月 12日 星期日 00:13:47 CST
m@meng:~/patches/tmp$ stat new
最近访问:2015-07-12 00:10:15.707908310 +0800
最近更改:2015-07-12 00:10:15.707908310 +0800
最近改动:2015-07-12 00:10:15.707908310 +0800
m@meng:~/patches/tmp$ stat test
最近访问:2015-07-11 23:42:25.064527595 +0800
最近更改:2015-07-06 23:57:45.095385673 +0800
最近改动:2015-07-06 23:57:45.095385673 +0800
m@meng:~/patches/tmp$ find -atime 0
.
./test
./new
m@meng:~/patches/tmp$ find -daystart -atime 0
.
./new
这就很显然了,在没有加上-daystart这个选项之前,-atime 0指的是从当前这一刻开始,往前的24小时之内,如果某个文件被访问过,则匹配;但是加上-daystart之后,-atime 0表示今天被访问过的文件才会匹配。同理-atime 1表示昨天(即7/11 0:00 ~ 7/11 23:59)被访问过的文件才会匹配。
这个选项的作用可以简单归纳为:化零为整。
(二)actions
-delete:找到匹配的文件之后,将其删除。man手册上提到:Use of -delete automatically turns on the -depth option,不过我还没搞懂这个-depth到底有什么卵用。。 -print:这个是默认的action,即没有指定任何action的时候其实就是使用了这个-print,但是指定了另一个action的时候,就必须显式加上-print才有效果。它把每个匹配的文件打印到标准输出上,每行一个文件。这意味着,-print在打印的时候,每个文件末尾添加了一个换行符。
但是这个换行符是为了浏览方便,有时会造成一些麻烦,比如使用管道的时候;如果想省略这个换行符,可以用-print0来代替,如下: m@meng:~/patches/tmp$ find -daystart -atime 0 -print
.
./new
m@meng:~/patches/tmp$ find -daystart -atime 0 -print0
../newm@meng:~/patches/tmp$
所以,如果只是想在终端观察输出,没有必要使用-print0,-print就足够了。
-print还有一个变种是-printf,类似于C语言中的printf函数,进行格式化输出,暂时不研究了,有太多格式。
-ls:类似于ls命令的-dils选项组合,如下: m@meng:~/patches/tmp$ find -daystart -atime 0 -ls
7478778 4 drwxrwxr-x 3 m m 4096 7月 12 00:10 .
7478967 0 -rw-rw-r-- 1 m m 0 7月 12 00:10 ./new
m@meng:~/patches/tmp$ ls -dils new
7478967 0 -rw-rw-r-- 1 m m 0 7月 12 00:10 new
换了一种更详细的输出而已。
f系列,即-(fls/fprint/fprint0/fprintf) file,这几个action与没有开头f的那几个action是非常相似的,只是不再把结果打印到标准输出,而是输出到文件file中。
-exec command ;与-exec command {} +
-exec本身其实只是在find执行完之后执行另一条命令,我之前以为-exec类似于管道,find找到的文件会直接被command处理,结果不是这样;若想要达到管道的效果,需要在 command后面添加“{}”,它代表前面找到的文件。
然后是语法问题:command后面没有“{}”时,必须要以一格空格和一个分号结尾;command后面有“{}”时,可以使用前面那种结尾方式,也可以使用一个空格和一个“+”结尾;
为了防止shell本身的扩展,分号需要转义,要么前面添加反斜线,要么用引号括起来;同理“{}”最好也用引号保护起来。
m@meng:~/patches/tmp$ find . -name new -print -exec cat onlyme1 ;
./new
haha
m@meng:~/patches/tmp$ find . -name new -print -exec cat onlyme1 +
find: 缺少“-exec”参数
m@meng:~/patches/tmp$ find . -name new -print -exec cat {} ;
./new
hello
m@meng:~/patches/tmp$ find . -name new -print -exec cat {} +
./new
hello
m@meng:~/patches/tmp$ find . -name new -print -exec cat {} ';'
./new
hello
m@meng:~/patches/tmp$ find . -name new -print -exec cat {} ";"
./new
hello
第一个例子说明command和find之间可以是完全独立的;第二个说明command后面没有“{}”时只能以分号结尾;后面几个例子说明了有“{}”时的结尾情况。
-execdir command ;和-execdir command {} +
与上一对选项类似,只是-exec后面的command是在当前目录执行的;而-execdir是在匹配文件所在子目录中执行的。我们使用pwd命令测试一下:m@meng:~/patches/tmp$ ls
magic.mgc new onlyme onlyme1 test
m@meng:~/patches/tmp$ ls test/
onlyme5 onlyme.sh
m@meng:~/patches/tmp$ find . -name onlyme.sh -exec pwd ;
/home/m/patches/tmp
m@meng:~/patches/tmp$ find . -name onlyme.sh -execdir pwd ;
/home/m/patches/tmp/test
文件onlyme.sh在子目录test中,find在找到它之后执行pwd命令;但是-exec和-execdir的结果是不同的。
-ok与-okdir
与-exec和-execdir是基本相同的,只是在执行之前会先询问一下用户。 -prune
if the file is a directory, do not descend into it. 就是说,如果某个目录匹配了,那么就不再进入这个目录进行搜索。m@meng:~/patches/tmp$ find . -name 'test*'
./test
./test/test1
m@meng:~/patches/tmp$ find . -name 'test*' -prune
./test
我们看到,匹配 -name ‘test*’的包括test子目录本身以及test目录下的test1文件;但是加上-prune选项之后,就不在进入到test目录中进行搜索了,因为test目录本身也是一
个匹配项。-prune经常配合-path用来排除某些子目录。
-quit
立即退出,-quit之后的命令将不再执行。如下:m@meng:~/patches/tmp$ find . -name new -print -exec cat {} ";"
./new
hello
m@meng:~/patches/tmp$ find . -name new -print -quit -exec cat {} ";"
./new
m@meng:~/patches/tmp$ find . -name new -print -exec cat {} ";" -quit
./new
hello
m@meng:~/patches/tmp$ find . -name new -quit -print -exec cat {} ";"
m@meng:~/patches/tmp$
(三)逻辑运算
先扔一段man手册的信息:
The expression is made up of options (which affect overall operation rather than the processing of a specific file, and always return true),tests
(which return a true or false value), and actions (which have side effects and return a true or false value), all separated by operators.
-and is assumed where the operator is omitted.
If the expression contains no actions other than -prune, -print is performed on all files for which the expression is true.
这就是说,expression的三个组成部分其实都是布尔表达式,而表达式都是有值的,不是true就是false。手册说,options的值永远是true;而其他两者的值可true可false。
这样,就会有逻辑运算,其实主要是test之间的运算,因为一个expression里面可以有多个test,这些test之间可以进行与、或、非运算。
比如上篇文章中的例子:
m@meng:~/patches$ find . -path ./tmp -o -name onlyme
./tmp
./tmp/onlyme
至此,find命令的基本用法完毕~好累。上面的总结肯定有不完善的地方,我会再以后慢慢补充慢慢纠正的。
浏览量:2
下载量:0
时间:
apt-get
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
apt-get命令一般需要root权限执行,所以一般跟着sudo命令
例
sudo apt-get xxxx
apt命令用法
apt-get update
在修改/etc/apt/sources.list或/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。
apt-get install packagename
安装一个新软件包(参见下文的aptitude)
apt-get remove packagename
卸载一个已安装的软件包(保留配置文档)
apt-get --purge remove packagename
卸载一个已安装的软件包(删除配置文档)
dpkg --force-all --purge packagename
有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。
apt-get autoclean apt
会把已装或已卸的软件都备份在硬盘上,所以假如需要空间的话,能够让这个命令来删除您已删掉的软件
apt-get clean
这个命令会把安装的软件的备份也删除,但是这样不会影响软件的使用。
apt-get upgrade
更新任何已安装的软件包
apt-get dist-upgrade
将系统升级到新版本
apt-cache search string
在软件包列表中搜索字符串
dpkg -l package-name-pattern
列出任何和模式相匹配的软件包。假如您不知道软件包的全名,您能够使用“*package-name-pattern*”。
aptitude
周详查看已安装或可用的软件包。和apt-get类似,aptitude能够通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,能够说他更适合用来进行安装和卸载。
apt-cache showpkg pkg
显示软件包信息。
apt-cache dumpavail
打印可用软件包列表。
apt-cache show pkg
显示软件包记录,类似于dpkg –print-avail。
apt-cache pkgname
打印软件包列表中任何软件包的名称。
dpkg -S file
这个文档属于哪个已安装软件包。
dpkg -L package
列出软件包中的任何文档。
apt-file search filename
查找包含特定文档的软件包(不一定是已安装的),这些文档的文档名中含有指定的字符串。apt-file是个单独的软件包。您必须先使用apt-get install来安装他,然後运行apt-file update。假如apt-file search filename输出的内容太多,您能够尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文档名)或类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文档夹中的文档,假如您要查找的是某个特定的执行文档的话,这样做是有帮助的)。
* apt-get autoclean
定期运行这个命令来清除那些已卸载的软件包的.deb文档。通过这种方式,您能够释放大量的磁盘空间。假如您的需求十分迫切,能够使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文档一并删除。大多数情况下您不会再用到这些.debs文档,因此假如您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。
浏览量:1
下载量:0
时间:
对电脑了解比较多的朋友都对这个名词不陌生吧都,这是一个电脑系统,它与其他操作系统最大的不同就在于它的处理器,内存,甚至是鼠标键盘都是一个个的文件,linux正常运行的核心就是它的系统管理命令。所以,对于我们电脑安装了linux系统的朋友来说,熟悉和了解linux系统命令是非常之重要的。下面就让读文网小编来为大家介绍一些linux的基础命令吧。
Telinit 0 关闭系统
Shutdown-h hours:minutes 按预定时间关闭系统
Reboot 重启
Shutdown-c 取消按预定时间关机
Logout 注销
Date 显示日期
Cal 2010 显示2010年日历
Arch 显示机器的处理器
Uname-m 显示内核版本
Cd 进入个人主目录
cd.. 返回上一级目录
pwd显示工作路径
ls 查看目录文件
tree 查看树状图目录
df –h显示已经挂载的分区
du –sh dir1 计算“dir1”中已经使用的磁盘空间大小
groupadd group-name 创建一个新的用户组
useradd user1 创建一个新用户
passwd 修改口
ls –lh 显示权限
chown user1 filel 改变一个文件的所有人和群组属性
chown user1:group1 filel 改变一个文件的所有人属性
yum 软件包升级器
yum localinstall package-name更新一个rpm包
yum list 显示当前系统中安装的所有软件包
yun clean headers 删除所有头文件
cat filel 从第一个字开始正向查看文件内容
more filel 查看一个长文件的内容
tac filel 从最后一行开始反向查看一个文件的内容
ifup eth0 启用一个eth0的网络设
ifconfig eth0显示一个以太网卡的配制
总结:以上就是小编为大家总结的内容了,有安装linux系统的网友,希望这篇文章可以帮到你。
浏览量:2
下载量:0
时间:
linux VIM命令:
vim 在命令行中输入vim,进入vim编辑器
Esc 退出i(插入)命令进行其它命令使用
:sh 进入shell命令行,执行完命令后ctrl+d退出重新进入vim编辑继续编辑在shell命令下,执行ctral+l完成清屏
:set number或者:set nu 使编辑中的文件显示行号
:set nonumber或者:set nonu 与上一条命令相反,不显示行号
:help i 查看插入命令帮助
/Fedora 查找Fedora字符
:s /Fedora/Redhat 将Fedora字符替换为Redhat(只替换在光标所在的行)
vim + filename 进行文件最后一行进行编辑
vim +n filename 进入文件第n行进行编辑
:1,.s/redhat/fedora .号表示当前行,即光标所在行 #将第1行到当前行(.)第一次出现的redhat
字符代替为fedora
:1,.s/redhat/fedora/g 将第1行到当前行(.)所有出现的redhat字符代替为fedora,g
全局标志
:1,$s/redhat/fedora/g $表示最后一行#将第1行到最后一行所有出现的redhat字符代替为fedora
:%s/redhat/fedora/g 同上一个命令
:%s//fedora/g 将第1行到最后一行所有出现的redhat字代替为fedora#字,而不是字符
:f #显示文件内容,状态等等#同ctrl+g命令
光标控制命令
命令 光标移动
h 向左移一个字符
j 向下移一行
k 向上移一行
l 向右移一个字符
gg或:1 移动到文件第一行
G 移到文件的最后一行
w 移到下一个字的开头
W 移到下一个字的开头,忽略标点符号
e 移到下一个字的结尾
E 移到下一个字的结尾,忽略标点符号
b 移到前一个字的开头
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
0(数字), | 移到当前行的第一列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+, Enter 移到下一行的第一个字符
- 移到前一行的第一个非空字符#p#副标题#e#
在 vi 中添加文本
命令 插入动作
a 在光标后插入文本
A 在当前行尾插入文本
i 在光标前插入文本
I 在当前行前插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行
s 删除光标所在处字符,并进入插入模式
S 删除光标所在的行,并进入插入模式
:r file 读入文件 file 内容,并插在当前行后
:nr file 读入文件 file 内容,并插在第 n 行后
Esc 回到命令模式
在 vi 中删除文本
命令 删除操作
x 删除光标处的字符
dw 删至下一个字的开头
dG 删除该光标行,直到文件结束
dd 删除整行
ndd 删除光标下n行
db 删除光标前面的字
:n,md 删除n行到m行
d, d$ 从光标处删除到行尾
d$ 从光标处删除到行尾
d,d^ 从光标处删除到行首
d^ 从光标处删除到行首
修改 vi 文本
每个命令前面的数字表示该命令重复的次数
命令 替换操作
rchar 用 char 替换当前字符
R text escape 用 text 替换当前字符直到按下 Esc 键
stext escape 用 text 代替当前字符
S 或 cctext escape 用 text 代替整行
cwtext escape 将当前字改为 text
Ctext escape 将当前行余下的改为 text
cG escape 修改至文件的末尾
在 vi 中查找与替换
命令 查找与替换操作
/text 在文件中向前查找 text
?text 在文件中向后查找 text
n 在同一方向重复查找
N 在相反方向重复查找
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
:ranges/pat1/pat2/g 用 newtext 替换 oldtext
:m,ns/oldtext/newtext 在 m 行通过 n,用 newtext 替换 oldtext
& 重复最后的 :s 命令
:g/text1/s/text2/text3 查找包含 text1 的行,用 text3 替换 text2
:g/text/command 在所有包含 text 的行运行 command 所表示的命令
:v/text/command 在所有不包含 text 的行运行 command 所表示的命令#p#副标题#e#
在 vi 中复制文本
命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将 n 行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
P 将临时缓冲区中的文本放入光标前
np 将临时缓冲区中的文本放入光标后n次
nP 将临时缓冲区中的文本放入光标前n次
在 vi 中撤消与重复
命令 撤消操作
u 撤消上一步操作
U 撤消当前行的所有修改
. 重复最后一次修改
, 以相反的方向重复前面的 f、F、t 或 T 查找命令
; 重复前面的 f、F、t 或 T 查找命令
"np 取回最后第 n 次的删除(缓冲区中存有一定次数的删除内容,一般为 9)
n 重复前面的 / 或 ? 查找命令
N 以相反方向重复前面的 / 或 ? 命令
保存文本和退出 vi
命令 保存和/或退出操作
:w 保存文件但不退出 vi
:w file 将修改保存在 file 中但不退出 vi
:wq 或 ZZ 或 :x 保存文件并退出 vi
:q! 不保存文件,退出 vi
:e! 放弃所有修改,从上次保存文件开始再编辑
vi 中的选项
选项 作用
:set all 打印所有选项
:set nooption 关闭 option 选项
:set nu 每行前打印行号
:set showmode 显示是输入模式还是替换模式
:set autoindent 继承前一行的缩进方式,特别适用于多行注释
:set smartindent 为C程序提供自动缩进
:set list 显示制表符(^I)和行尾符号
:set ts=8 为文本输入设置 tab stops
:set window=n 设置文本窗口显示 n 行
vi 的状态
选项 作用
ctrl+g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
:l 使用字母 "l" 来显示许多的特殊字符,如制表符和换行符
在文本中定位段落和放置标记
选项 作用
{ 在第一列插入 { 来定义一个段落
[[ 回到段落的开头处
]] 向前移到下一个段落的开头处
在 vi 中连接行
选项 作用
J 将下一行连接到当前行的末尾
nJ 连接后面 n 行
光标放置与屏幕调整
选项 作用
H 将光标移动到屏幕的顶行
nH 将光标移动到屏幕顶行下的第 n 行
M 将光标移动到屏幕的中间
L 将光标移动到屏幕的底行
nL 将光标移动到屏幕底行上的第 n 行
ctrl+e 将屏幕下滚一行
ctrl+u 将屏幕上滚半页
ctrl+d 将屏幕下滚半页
ctrl+b 将屏幕上滚一页
ctrl+f 将屏幕下滚一页
ctrl+l 重绘屏幕
z-return 将当前行置为屏幕的顶行
nz-return 将当前行下的第 n 行置为屏幕的顶行
z. 将当前行置为屏幕的中央
nz. 将当前行上的第 n 行置为屏幕的中央
z- 将当前行置为屏幕的底行
nz- 将当前行上的第 n 行置为屏幕的底行
vi 中的 shell 转义命令#p#副标题#e#
选项 作用
:!command 执行 shell 的 command 命令,如 :!ls
:!! 执行前一个 shell 命令
:r!command 读取 command 命令的输入并插入,如 :r!ls 会先执行 ls,然后读入内容
:w!command 将当前已编辑文件作为 command 命令的标准输入并执行 command 命令,如 :w!grep
all
:cd directory 将当前工作目录更改为 directory 所表示的目录
:sh 将启动一个子 shell,使用 ^d(ctrl+d) 返回 vi
:so file 在 shell 程序 file 中读入和执行命令
vi 中的宏与缩写
(避免使用控制键和符号,不要使用字符 K、V、g、q、v、*、= 和功能键)
选项 作用
:map key command_seq 定义一个键来运行 command_seq,如 :map e ea,无论什么时候都可以 e 移到一个字的末尾来追加文本
:map 在状态行显示所有已定义的宏
:umap key 删除该键的宏
:ab string1 string2 定义一个缩写,使得当插入 string1 时,用 string2 替换 string1。当要插入文本时,键入 string1 然后按 Esc 键,系统就插入了 string2
:ab 显示所有缩写
:una string 取消 string 的缩写
在 vi 中缩进文本
选项 作用
ctrl+i或 tab 插入文本时,插入移动的宽度,移动宽度是事先定义好的
:set ai 打开自动缩进
:set sw=n 将移动宽度设置为 n 个字符
n>> 使 n 行都向右移动一个宽度,例如 3>> 就将接下来的三行每行都向右移动一个移动宽度。如果省略n表示使当前行向右移动一个宽度。
可视模式
为了便于选取文本,VIM 引入了可视(Visual)模式。要选取一段文本,首先将光标移到段首,在普通模式下按 v 进入可视模式,然后把光标移到段末选中内容(移到行首^,行末$)。需要注意,光标所在字符是包含在选区中的。这时可以对所选的文本进行一些操作,常用的(可视模式)命令有:
x或d 剪切(即删除,同时所选的文本进入剪贴板)
y 复制
r字符 所有字符替换为新字符
u U ~ 分别是所有字母变小写、变大写、反转大小写
当输入了命令以后,VIM 将回到普通模式,这时可以按 p 或 P 进行粘贴。普通模式下有关复制和粘贴的命令:
v 进入可视模式
p或P 在当前位置粘贴剪贴板的内容,p 粘在光标所在字符后面,P 粘在前面
不得不承认,虽然引入了可视模式,复制和粘贴在 VIM 中仍然是比较麻烦的操作,这也许是 VIM 唯一的缺点。此外,VIM 还引入了选择(Select)模式,跟可视模式类似。结合一些键的定义和选项设置。
浏览量:2
下载量:0
时间:
Linux命令介绍
depmod -a
这个命令一般放在make modules_install之后。depmod可检测模块的相依性,供modprobe在安装模块时使用。
严格说来,depmod -a命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。
System.map
System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。
对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/System.map。像下面这样:
nm /boot/vmlinux-2.4.7-10 > System.map
下面几行来自/usr/src/linux-2.4/Makefile:
nm vmlinux | grep -v '(compiled)|(.o$$)|( [aUw] )|(..ng$$)|(LASH[RL]DI)'|sort>System.map
然后复制到/boot:
cp /usr/src/linux/System.map /boot/System.map-2.4.7-10
在进行程序设计时,会命名一些变量名或函数名之类的符号。Linux内核是一个很复杂的代码块,有许许多多的全局符号。
Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名。比如不是使用size_t BytesRead这样的符号,而是像c0343f20这样引用这个变量。
对于使用计算机的人来说,更喜欢使用那些像size_t BytesRead这样的名字,而不喜欢像c0343f20这样的名字。内核主要是用c写的,所以编译器/连接器允许我们编码时使用符号名,当内核运行时使用地址。
然而,在有的情况下,我们需要知道符号的地址,或者需要知道地址对应的符号。这由符号表来完成,符号表是所有符号连同它们的地址的列表。上图就是一个内核符号表,由上图可知变量名checkCPUtype在内核地址c01000a5。
Linux 符号表使用到2个文件:
/proc/ksyms
System.map
/proc/ksyms是一个“proc file”,在内核引导时创建。实际上,它并不真正的是一个文件,它只不过是内核数据的表示,却给人们是一个磁盘文件的假象,这从它的文件大小是0可以看出来。然而,System.map是存在于你的文件系统上的实际文件。
当你编译一个新内核时,各个符号名的地址要发生变化,你的老的System.map具有的是错误的符号信息。每次内核编译时产生一个新的System.map,你应当用新的System.map来取代老的System.map。
虽然内核本身并不真正使用System.map,但其它程序比如klogd,lsof和ps等软件需要一个正确的System.map。如果你使用错误的或没有System.map,klogd的输出将是不可靠的,这对于排除程序故障会带来困难。没有System.map,你可能会面临一些令人烦恼的提示信息。
另外少数驱动需要System.map来解析符号,没有为你当前运行的特定内核创建的System.map它们就不能正常工作。
Linux的内核日志守护进程klogd为了执行名称-地址解析,klogd需要使用System.map。System.map应当放在使用它的软件能够找到它的地方。执行:man klogd可知,如果没有将System.map作为一个变量的位置给klogd,那么它将按照下面的顺序,在三个地方查找System.map:
/boot/System.map
/System.map
/usr/src/linux/System.map
System.map也有版本信息,klogd能够智能地查找正确的映象(map)文件。
浏览量:1
下载量:0
时间:
作为一种分时的特数操作系统,Linux具备Windows和mac OS与众不同的操作界面和用户体验,虽然它并不是最主流的操作系统,但是它会作为操作系统而得到众多程序开发人员的青睐和熟知。find命令是操作系统环境下进行计算机功能调用的特殊命令,顾名思义,它的作用就是查找,比如查找一些特定的文件。那么Linux环境下的find命令该如何使用呢?
1.命令格式
熟悉程序开发的人们都应当知道,一个命令如果没有格式或格式错误那就无法实现本身的功能。find命令的标准格式为:find pathname -options [-print -exec -ok ...]。
2.命令功能
Find命令的主要功能就是能够在庞杂的文件树中查找具有特定特征的文件,并进行相关的处理和操作。
3.命令选项
命令选项是根据不同的选择条件进行文件查询,如文件的文件名、权限等条件,Linux环境下find的命令选项如下所示(部分):
-name 此命令根据文件的文件名进行文件查询,一般也是最长使用的一个命令。
-perm 此命令根据文件的不同权限进行文件查询,如具备管理员权限和不具备管理员权限的文件查询。
-user 这个命令会更具文件具备的不同属主进行文件查询。
-group 此命令是根据文件属于的组类型进行查询,当然,一般来说使用这个进行查询的是想要查询多个文件。
-mtime -n +n 根据文件的修改时间进行文件查询,比如,假如你在昨天19点更改过文件的名称或格式或其他信息,这时候就能够根据这个命令查询到此文件。
-type 根据文件的类型进行查找,比如,管道文件、设备文件、普通文件等,不同的文件根据不同的字母进行区分
Find命令作为文件查询中的重要手段,在计算机界有很大的实用性,Linux强大的操作性能中使用find文件往往能够非常便捷,因此,熟悉find在Linux中的使用方法是文件查询的重要内容。
4.命令参数
和众多命令相同,如果想要查询不同的文件,就需要使用不同类型的查询参数才能实现。Find命令的查询参数如下:
pathname: find 这个参数能够根据文件的路径进行文件查找,一般来说.表示当前目录路径,/表示系统根目录路径。
-print:使用这个命令进行查找系统会将匹配的文件输出至标准的输出方式显示。
-exec:若使用这个参数进行文件查找,系统会进行特殊的shell命令执行,这个shell命令是参数给出的。
-ok:这个参数的功能和-exec具有相似的查询效果,不过它会给查询增加安全性,并在每一个执行步骤之前给出提示。
浏览量:2
下载量:0
时间: